package com.team.coupon.config;

import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class RedissonConfig {

    @Bean(destroyMethod = "shutdown")
    public RedissonClient redissonClient() {
        // 创建配置
        Config config = new Config();
        
        // 单机模式，根据实际情况修改为你的Redis地址和端口
        config.useSingleServer()
              .setAddress("redis://47.110.145.239:6381")
              .setPassword("123456")
              .setDatabase(0) // 指定数据库，根据实际情况调整
              .setConnectionMinimumIdleSize(5) // 最小空闲连接数
              .setConnectionPoolSize(10); // 连接池大小
        
        // 集群模式示例（如果使用集群）
        /*
        config.useClusterServers()
              .addNodeAddress("redis://node1:7000", "redis://node2:7001")
              .setScanInterval(2000) // 集群状态扫描间隔时间，单位是毫秒
              .setMasterConnectionMinimumIdleSize(10)
              .setMasterConnectionPoolSize(64)
              .setSlaveConnectionMinimumIdleSize(10)
              .setSlaveConnectionPoolSize(64);
        */
        
        // 创建Redisson客户端
        return Redisson.create(config);
    }
}